package com.alibaba.citrus.ots.unified.inventory.repository;

import java.util.List;


import com.alibaba.lattice2.epoch.sdk.model.Result;
import com.epoch.app.otsunifiedinventory.dto.request.AllocateOrderDetailGetOrgRequest;
import com.epoch.app.otsunifiedinventory.dto.request.AllocateOrderDetailSearchRequest;
import com.epoch.app.otsunifiedinventory.dto.request.AllocateOrderDetailsQueryRequest;
import com.epoch.app.otsunifiedinventory.dto.response.AllocateOrderDetailBatchGetOrgResponse;
import com.epoch.app.otsunifiedinventory.dto.response.AllocateOrderDetailBatchGetScItemResponse;
import com.epoch.app.otsunifiedinventory.dto.response.AllocateOrderDetailGetCustomerResponse;
import com.epoch.app.otsunifiedinventory.dto.response.AllocateOrderDetailGetOrgResponse;
import com.epoch.app.otsunifiedinventory.dto.response.AllocateOrderDetailGetWarehouseResponse;
import com.epoch.app.otsunifiedinventory.model.dto.AllocateOrderDetailBatchGetOrgRequest;
import com.epoch.app.otsunifiedinventory.model.dto.AllocateOrderDetailBatchGetScItemRequest;
import com.epoch.app.otsunifiedinventory.model.dto.AllocateOrderDetailGetBatchCustomerRequest;
import com.epoch.app.otsunifiedinventory.model.dto.AllocateOrderDetailGetBatchWarehouseRequest;
import com.epoch.app.otsunifiedinventory.model.dto.AllocateOrderDetailGetCustomerRequest;
import com.epoch.app.otsunifiedinventory.sdo.AllocateApplyOrderSDO;
import com.epoch.app.otsunifiedinventory.sdo.AllocateOrderDetailSDO;
import org.springframework.stereotype.Component;

/**
 * @description:
 * @author: yuhw
 * @date: 2021年09月18日 15:47
 **/
@Component
public interface AllocateOrderDetailReadRepository {
//    AllocateOrderDetailSDO query(AllocateOrderDetailsQueryRequest request);

    List<AllocateOrderDetailSDO> query(AllocateOrderDetailsQueryRequest request);

//    List<AllocateOrderDetailSDO> search(AllocateOrderDetailSearchRequest request);

    Result<List<AllocateOrderDetailSDO>> search(AllocateOrderDetailSearchRequest request);

    List<AllocateOrderDetailBatchGetScItemResponse> batchGetScItem(AllocateOrderDetailBatchGetScItemRequest request);


    AllocateApplyOrderSDO getAllocateApplyOrderSdo(String id);

    List<AllocateOrderDetailBatchGetOrgResponse> batchGetOrg(AllocateOrderDetailBatchGetOrgRequest request);

    AllocateOrderDetailGetOrgResponse getOrg(AllocateOrderDetailGetOrgRequest request);

    AllocateOrderDetailGetCustomerResponse getCustomer(AllocateOrderDetailGetCustomerRequest request);

    List<AllocateOrderDetailGetCustomerResponse> batchGetCustomer(AllocateOrderDetailGetBatchCustomerRequest request);

    List<AllocateOrderDetailGetWarehouseResponse> batchGetWarehouse(AllocateOrderDetailGetBatchWarehouseRequest request);
}
